const log = uni.getRealtimeLogManager ? uni.getRealtimeLogManager() : null;

let Logger = {
    debug() {
        if (!log) return;
        log.debug.apply(log, arguments);
    },
    info() {
        if (!log) return;
        log.info.apply(log, arguments);
    },
    warn() {
        if (!log) return;
        log.warn.apply(log, arguments);
    },
    error() {
        if (!log) return;
        log.error.apply(log, arguments);
    },
    setFilterMsg(msg) {
        // 从基础库2.7.3开始支持
        if (!log || !log.setFilterMsg) return;
        if (typeof msg !== 'string') return;
        log.setFilterMsg(msg);
    },
    addFilterMsg(msg) {
        // 从基础库2.8.1开始支持
        if (!log || !log.addFilterMsg) return;
        if (typeof msg !== 'string') return;
        log.addFilterMsg(msg);
    }
};

const isLocalDevModel = process.env.NODE_ENV === 'development';
if (isLocalDevModel) {
    // eslint-disable-next-line no-console
    console.setFilterMsg = Logger.setFilterMsg;
    // eslint-disable-next-line no-console
    console.addFilterMsg = Logger.addFilterMsg;
    Logger = console;
}

export default Logger;
